package com.fidelizarte.ejb.persistence.entities;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the detalle_catalogo database table.
 * 
 */
@Entity
@Table(name="detalle_catalogo")
@NamedQuery(name="DetalleCatalogo.findAll", query="SELECT d FROM DetalleCatalogo d")
public class DetalleCatalogo implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="ID_DETALLE_CATALOGO")
	private Integer idDetalleCatalogo;

	@Column(name="DESCRIPCION_DETALLE")
	private String descripcionDetalle;

	private String estado;

	@Column(name="FECHA_MODIFICACION")
	private Timestamp fechaModificacion;

	@Column(name="FECHA_REGISTRO")
	private Timestamp fechaRegistro;

	@Column(name="NOMBRE_DETALLE")
	private String nombreDetalle;

	//bi-directional many-to-one association to TipoCatalogo
	@ManyToOne
	@JoinColumn(name="ID_TIPO_CATALOGO")
	private TipoCatalogo tipoCatalogo;

	//bi-directional many-to-one association to HistoricoTransaccione
	@OneToMany(mappedBy="detalleCatalogo")
	private List<HistoricoTransaccione> historicoTransacciones;

	public DetalleCatalogo() {
	}

	public Integer getIdDetalleCatalogo() {
		return this.idDetalleCatalogo;
	}

	public void setIdDetalleCatalogo(Integer idDetalleCatalogo) {
		this.idDetalleCatalogo = idDetalleCatalogo;
	}

	public String getDescripcionDetalle() {
		return this.descripcionDetalle;
	}

	public void setDescripcionDetalle(String descripcionDetalle) {
		this.descripcionDetalle = descripcionDetalle;
	}

	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}

	public Timestamp getFechaModificacion() {
		return this.fechaModificacion;
	}

	public void setFechaModificacion(Timestamp fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	public Timestamp getFechaRegistro() {
		return this.fechaRegistro;
	}

	public void setFechaRegistro(Timestamp fechaRegistro) {
		this.fechaRegistro = fechaRegistro;
	}

	public String getNombreDetalle() {
		return this.nombreDetalle;
	}

	public void setNombreDetalle(String nombreDetalle) {
		this.nombreDetalle = nombreDetalle;
	}

	public TipoCatalogo getTipoCatalogo() {
		return this.tipoCatalogo;
	}

	public void setTipoCatalogo(TipoCatalogo tipoCatalogo) {
		this.tipoCatalogo = tipoCatalogo;
	}

	public List<HistoricoTransaccione> getHistoricoTransacciones() {
		return this.historicoTransacciones;
	}

	public void setHistoricoTransacciones(List<HistoricoTransaccione> historicoTransacciones) {
		this.historicoTransacciones = historicoTransacciones;
	}

	public HistoricoTransaccione addHistoricoTransaccione(HistoricoTransaccione historicoTransaccione) {
		getHistoricoTransacciones().add(historicoTransaccione);
		historicoTransaccione.setDetalleCatalogo(this);

		return historicoTransaccione;
	}

	public HistoricoTransaccione removeHistoricoTransaccione(HistoricoTransaccione historicoTransaccione) {
		getHistoricoTransacciones().remove(historicoTransaccione);
		historicoTransaccione.setDetalleCatalogo(null);

		return historicoTransaccione;
	}

}